<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        /* let str = 'tianqi'
        // 每一个字符串都是由零到多个字符串组成的
        str.length; // =>字符串长度
        str[0] //获取索引为零的字符
        str[str.length - 1]; //获取最后一个字符 str.length-1 最后一项索引
        str[10000] //=> undefined 不存在这个索引

        //循环输出字符串中的每一个字符串
        for (let i = 0; i < str.length; i++) {
            let char = str[i];
            console.log(char);
        } */

        // ================================  charAt / charCodeAt
        /* charAt ：根据索引获取指定位置的字符
        charCodeAt ： 获取指定字符的ASCII编码值
        @params 
        n[number]  获取字符指定的索引
        @return
        返回查找到的字符
        找不到的返回时空字符串不是undefined ，或者对应的编码值 */

        /*  let str = 'tianqihenbucuo'
            let newStr = str.charAt(3);
            console.log(newStr);// n */

        // ================================ splice / substr / substring
        // 都是为了实现字符串的截取(在原来字符串中查找自己想要的)
        /*
        substr(n,m) ：从索引n开始截取m个字符，m不写截取到末尾()
        substring(n,m) ：从索引n开始找到索引m处(不包含m)
        slice(n,m) ： 和substring 一样，都是找到索引m处，但是slice 可以支持负数作为索引，其余两个方法是不可以的
        */

        /* let str = 'jintiantianqi'
        console.log(str.substr(3, 5));//从第3个开始，截取5个   //tiant
        console.log(str.substring(3, 5));//从索引3开始，截取到索引5(不包括5)  //ti
        console.log(str.substring(3)); //从索引3开始截取到末尾 //tiantianqi
        console.log(str.substring(-7, -5)); // ""
        console.log(str.substr(-7, -5)); // ""
        console.log(str.slice(-7, -5)); // nt    倒着截取，从最后一个截取到倒数  */


        // ================================ indexOf 
        // 严恒字符串是否存在
        /* indexOf(x,y) : 获取x第一次出现位置的索引，y是控制查找的起始位置索引
        lastIndexOf(x) : 最后一次出现位置的索引 
        没有这个字符，返回的结果是-1
        */

        /* let str1 = 'jintiantianqi';
        console.log(str1.indexOf("n")); // 2
        console.log(str1.lastIndexOf("i")); // 12 */

        // ================================  includes 
        // 查找字符串里面是否包含
        /*  let str1 = 'jintiantianqi';
            console.log(str1.includes("n")); //true  */

        // ================================ toUpperCase / toLowerCase 
        /* 
        toUpperCase： 把字母字符串转为大写
        toLowerCase ： 把字母字符串转化为小写
         */
        /*  let str1 = 'Jin Tian 哈哈 Tianqi';
         console.log(str1.toUpperCase()) //JIN TIAN TIAN QI
         console.log(str1.toLowerCase()) //jin tian tian qi
         //第一个大写，其余小写
         console.log(str1.substr(0, 1).toUpperCase() + str1.substr(1).toLowerCase()); */

        // ================================ split 
        /* 
        把字符串按照指定的分隔符拆分成数组 ( 和数组中join对应 )
        */
        /* let str = 'jint|tian|bu|cuo';
        let arr = str.split("|");
        // 按照 |  把字符串分隔后放在一个数组里
        console.log(arr);//(4) ["jint", "tian", "bu", "cuo"]
        let arr1 = arr.join(',')
        console.log(arr1); //jint,tian,bu,cuo */

        // ================================ replace
        /*
        replace(新字符串，老字符串)  实现字符串替换 ，只能替换第一个
        */
        let str1 = 'jint@tian@bu@cuo';
        let arr = str1.replace(/@/g, '-'); //根据正则替换字符串
        console.log(arr);


    </script>
</body>

</html>